package com.ego.item.api;

import com.ego.common.pojo.PageResult;
import com.ego.item.entity.Sku;
import com.ego.item.entity.SpuBO;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

@RequestMapping("/goods")
public interface GoodsApi {

    @GetMapping("/spu/pageForEs")
     ResponseEntity<PageResult<SpuBO>> page(
            @RequestParam(value = "saleable",required = false)Boolean saleable,
            @RequestParam("page")Integer page,
            @RequestParam("rows")Integer rows
    );

    /**
     * 根据id查询商品
     * @param id
     * @return
     */
    @GetMapping("/spubo/{id}")
    SpuBO queryGoodsById(@PathVariable("id") Long id);

    @GetMapping("/sku/{skuId}")
    Sku querySkuBySkuId(@PathVariable("skuId") Long skuId);

    @GetMapping("/skusById")
    List<Sku> querySkuListBySkuIds(@RequestParam("skuIdList") List<Long> skuIdList);

    @PostMapping("/reduceStock")
    Boolean reduceStock(@RequestBody List<Map<Object, Object>> orderDetailList);
}
